home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1996 #5 / Amiga Plus CD - 1996 - No. 5.iso / pd / grafik / visage / install visage next >
Text File  |  1996-01-01  |  19KB  |  841 lines

  1. ;
  2. ; $VER: Install_Visage 39.3 (3.12.95)
  3. ;
  4. ; Installer script for Visage.
  5. ;
  6.  
  7. ; Get current language (no need for lots of silly icons! ;). However, this
  8. ; won't properly work for all versions of the Installer. Some doesn't
  9. ; understand the language "default". :/
  10.  
  11. (if (= (exists "Env:Language") 1)
  12.     ; GetEnv reports "String too long" if the variable doesn't exist! :(
  13.     (set @language (getenv "language"))
  14. )
  15.  
  16. ;**************************************************************************
  17. ;
  18. ; English strings
  19. ;
  20.  
  21. ; .ct
  22. (set default-lang 2)
  23.  
  24. (set #bad-kick
  25.     "You must have AmigaOS Release 3.0 or newer to use Visage."
  26. )
  27.  
  28. (set #welcome
  29.     (cat
  30.         "\n\n\nWelcome to the Visage installation utility.\n\n"
  31.         "This program lets you install Visage on your Amiga.\n\n\n"
  32.         "Visage © 1995  Magnus Holmgren."
  33.     )
  34. )
  35.  
  36. (set #install-parts "Please select the parts you wish to install")
  37.  
  38. (set #item-visage "Visage")
  39.  
  40. (set #item-visage-guide "Visage.guide")
  41.  
  42. (set #item-locale "Translations")
  43.  
  44. (set #item-codec "JPEG codec")
  45.  
  46. (set #item-getmodeid "GetModeID")
  47.  
  48. (set #item-kill "Kill")
  49.  
  50. (set #item-makelink "MakeLink")
  51.  
  52. (set #item-unpackilbm "UnpackILBM")
  53.  
  54. (set #install-parts-help
  55.     (cat
  56.         "    Here you select the different parts of Visage that you would like to "
  57.         "install. After that, you select the details of the installation (such as "
  58.         "where the different files should be installed). You may choose to install "
  59.         "the following items:\n"
  60.         "    Visage: The actual picture viewer.\n"
  61.         "    Visage.guide: The manual, in AmigaGuide® format. If you install it "
  62.         "using the installer, the text will reflow to fit the current window size. "
  63.         "If you do a manual installation, the text is fixed to 76 columns.\n"
  64.         "    Translations: If you install a translation, then Visage can operate in "
  65.         "the language(s) you select.\n"
  66.         "    JPEG codec: The Tower JPEG Codec Class, which Visage needs to be able "
  67.         "to view JPEG pictures (without using datatypes).\n"
  68.         "    GetModeID: A program that shows a screen mode requester, and prints "
  69.         "a decimal number that represents the selected screen mode.\n"
  70.         "    Kill: A program that can stop another program (sending \"break\" "
  71.         "signals). Similar to Break.\n"
  72.         "    MakeLink: A replacement for the MakeLink command that supports "
  73.         "soft links.\n"
  74.         "    UnpackILBM: A program that unpacks the picture data in an IFF ILBM "
  75.         "picture (the BODY chunk).\n"
  76.         "    For more information about these parts, please read the manual.\n"
  77.     )
  78. )
  79.  
  80. (set #where-visage "Where would you like to install Visage?")
  81.  
  82. (set #where-visage-guide "Where would you like to install Visage.guide?")
  83.  
  84. (set #copy-guide-icon "Should I copy the icon for Visage.guide?")
  85.  
  86. (set #convert-guide "Converting Visage.guide...")
  87.  
  88. (set #which-language "Which languages should be installed?")
  89.  
  90. (set #which-language-help
  91.     (cat
  92.         "    The Amiga can be operated in many different languages. If you "
  93.         "want Visage to use the same language as your Amiga Workbench, "
  94.         "then a couple of catalog files must be copied to your harddisk "
  95.         "for each language supported.\n"
  96.         "    To reduce the amount of space consumed by the language files, "
  97.         "you can select to have only the files of specific languages "
  98.         "copied.\n"
  99.         "    Simply check the boxes of the languages you wish to have have "
  100.         "available on your system.\n"
  101.     )
  102. )
  103.  
  104. (set #where-tools "Where would you like to install the extra programs?")
  105.  
  106. (set #where-tools-help
  107.     (cat
  108.         "    Here you specify where the programs GetModeID, Kill and UnpackILBM "
  109.         "will be installed. Only the programs you selected will be copied. Since "
  110.         "these programs are Shell-only, the default location is C:, where the "
  111.         "systems Shell-only programs can be found.\n"
  112.         "    It is recommended that you install these programs somewhere in "
  113.         "your command search path.\n"
  114.     )
  115. )
  116.  
  117. (set #copy "Copying %s to %s...")
  118.  
  119. (set #program-update "How do you want to update the tooltypes in the icon?")
  120.  
  121. (set #update-none "No update")
  122.  
  123. (set #update-all "Add all")
  124.  
  125. (set #update-since "Add new since %s")
  126.  
  127. (set #program-update-help
  128.     (cat
  129.         "    Since this installation updated an older version of Visage, "
  130.         "the icon have not been copied over. This to maintain any changes "
  131.         "you may have made to it. However, new tooltypes may have been added. "
  132.         "Here you can decide if you want to:\n"
  133.         "    No update: Skip this part.\n"
  134.         "    Add all tooltypes: existing tooltypes will not be changed "
  135.         "Any tooltypes you may have removed will be added again. The new "
  136.         "tooltypes will be added as well.\n "
  137.         "    Add new since 39.x: Only add the new tooltypes since that version. "
  138.         "Any existing tooltype not be changed.\n"
  139.     )
  140. )
  141.  
  142. ; JPEG codec
  143.  
  144. (set #codec-message
  145.     (cat
  146.         "\n\n\nTower JPEG Codec Class\n\nCopyright © 1994 Christoph Feck, TowerSystems\n"
  147.         "All Rights Reserved.\n\n\n\n"
  148.         "Please refer to the documentation for details."
  149.     )
  150. )
  151.  
  152. (set #jpeg-tmp-prompt
  153.     "Select a directory for temporary files, not in RAM:"
  154. )
  155.  
  156. (set #temp-file
  157.     (cat
  158.         "    To decode certain JPEG images, the Codec needs a large amount of memory.\n"
  159.         "If the required storage is not available in main memory, the Codec will "
  160.         "create a temporary file on your harddisk. The volume on which this file is "
  161.         "created should have enough free space (about 4 meg).\n"
  162.         "    A temporary file is usually only required, if you want to quantize "
  163.         "JPEG images to 256 colors.\n\n"
  164.         @askdir-help
  165.     )
  166. )
  167.  
  168. (set #jpeg-startup-prompt
  169.     "An assignment has to be added to your user-startup."
  170. )
  171.  
  172. (set #make-assign
  173.     (cat
  174.         "    The logical assignment \"JPEGTMP:\" is used to refer to the temporary "
  175.         "directory.\n"
  176.         "    In order to make this assignment available on every reboot, an "
  177.         "\"Assign\" command has to be added to your \"user-startup\" file.\n\n"
  178.         @startup-help
  179.     )
  180. )
  181.  
  182. (set #jpeg-copy "Copying %s...")
  183.  
  184.  
  185. ;**************************************************************************
  186. ;
  187. ; German strings
  188. ;
  189.  
  190. ; .ct
  191. (if (= @language "deutsch")
  192.     (
  193.         (set default-lang 1)
  194.     )
  195. )
  196.  
  197.  
  198. ;**************************************************************************
  199. ;
  200. ; French strings
  201. ;
  202.  
  203. ; .ct
  204. (if (= @language "francais")
  205.     (
  206.         (set default-lang 4)
  207.     )
  208. )
  209.  
  210.  
  211. ;**************************************************************************
  212. ;
  213. ; Italian strings
  214. ;
  215.  
  216. ; .ct
  217. (if (= @language "italiano")
  218.     (
  219.         (set default-lang 8)
  220.     )
  221. )
  222.  
  223.  
  224. ;**************************************************************************
  225. ;
  226. ; Norwegian strings
  227. ;
  228.  
  229. ; .ct
  230. (if (= @language "norsk")
  231.     (
  232.         (set default-lang 16)
  233.     )
  234. )
  235.  
  236.  
  237. ;**************************************************************************
  238. ;
  239. ; Finnish strings
  240. ;
  241.  
  242. ; .ct
  243. (if (= @language "suomi")
  244.     (
  245.         (set default-lang 32)
  246.     )
  247. )
  248.  
  249.  
  250. ;**************************************************************************
  251. ;
  252. ; Swedish strings
  253. ;
  254.  
  255. ; .ct
  256. (if (= @language "svenska")
  257.     (
  258.         (set default-lang 64)
  259.  
  260.         (set #bad-kick
  261.             "Du måste ha AmigaOS version 3 eller nyare för att kunna använda Visage."
  262.         )
  263.  
  264.         (set #welcome
  265.             (cat
  266.                 "\n\n\nVälkommen till Installeraren.\n\n"
  267.                 "Det här programmet låter dig installera Visage i din Amiga.\n\n\n"
  268.                 "Visage © 1995  Magnus Holmgren."
  269.             )
  270.         )
  271.  
  272.         (set #install-parts "Välj de delar du vill installera:")
  273.  
  274.         (set #item-visage "Visage")
  275.  
  276.         (set #item-visage-guide "Visage.guide")
  277.  
  278.         (set #item-locale "Översättningar")
  279.  
  280.         (set #item-codec "JPEG codec")
  281.  
  282.         (set #install-parts-help
  283.             (cat
  284.                 "  Här väljer du de olika delar av Visage som du vill installera. "
  285.                 "Efter det anger du detaljer om installationen (såsom var de olika "
  286.                 "filerna ska installeras). Du kan välja mellan följande delar:\n"
  287.                 "  Visage: Själva bildvisaren.\n"
  288.                 "  Visage.guide: Manualen, i AmigaGuide®-format. Om du installerar "
  289.                 "den med Installeraren, så kommer texten att formateras om efter "
  290.                 "fönstrets aktuella storlek. Om du installerar den manuellt, så "
  291.                 "är texten fixerad vid 76 kolumner.\n"
  292.                 "  Översättningar: Om du installerar en översättning, så kan "
  293.                 "Visage använda det språket.\n"
  294.                 "  JPEG codec: \"The Tower JPEG Codec Class\". Visage behöver "
  295.                 "den här för att kunna visa JPEG-bilder.\n"
  296.                 "  GetModeID: Ett program som visar en skärmlägesväljare, och "
  297.                 "sedan skriver ut ett decimalt tal som motsvarar det valda "
  298.                 "skärmläget.\n"
  299.                 "  Kill: Ett program som kan stoppa andra program (genom att "
  300.                 "skicka \"break\"-signaler). Liknar Break.\n"
  301.                 "  UnpackILBM: Ett program som packar upp bilddatan i en IFF ILBM "
  302.                 "bild (BODY \"chunken\").\n"
  303.                 "    För mer information om de här sakerna, se manualen.\n"
  304.             )
  305.         )
  306.  
  307.         (set #where-visage "Var vill du installera Visage?")
  308.  
  309.         (set #where-visage-guide "Var vill du installera Visage.guide?")
  310.  
  311.         (set #copy-guide-icon "Ska jag kopiera ikonen för Visage.guide?")
  312.  
  313.         (set #convert-guide "Konverterar Visage.guide...")
  314.  
  315.         (set #which-language "Vilka språk ska installeras?")
  316.  
  317.         (set #which-language-help
  318.             (cat
  319.                 "  Amigan kan arbeta med flera olika språk. Om du vill att "
  320.                 "Visage ska använda samma språk som Amiga Workbench så "
  321.                 "måste en så kallad katalogfil kopieras till din systemdisk "
  322.                 "för varje språk.\n"
  323.                 "  För att minimera diskutrymmet för språkfiler kan du välja "
  324.                 "att bara installera filerna för vissa språk.\n"
  325.                 "  Markera bara rutorna för de språk du önskar installera i "
  326.                 "din dator.\n"
  327.             )
  328.         )
  329.  
  330.         (set #where-tools "Var vill du installera de extra programmen?")
  331.  
  332.         (set #where-tools-help
  333.             (cat
  334.                 "  Här anger du var programmen GetModeID, Kill och UnpackILBM "
  335.                 "ska installeras någonstans. Bara de program som du valde "
  336.                 "tidigare kommer att kopieras. Eftersom de här programmen bara "
  337.                 "kan användas från ett skal, så är den förvalda destinationen C:, "
  338.                 "eftersom systemets \"skalprogram\" finns där. Det rekommenderas "
  339.                 "att du installerar dessa program någonstans i sökvägen för "
  340.                 "kommandon.\n"
  341.             )
  342.         )
  343.  
  344.         (set #copy "Kopierar %s till %s...")
  345.  
  346.         (set #program-update "Hur vill du uppdatera verktygstyperna i ikonen?")
  347.  
  348.         (set #update-none "Uppdatera inte")
  349.  
  350.         (set #update-all "Lägg till alla")
  351.  
  352.         (set #update-since "Lägg till nya sedan %s")
  353.  
  354.         (set #program-update-help
  355.             (cat
  356.                 "  Eftersom den här installationen uppdaterade än gammal version "
  357.                 "av Visage, så har ikonen inte kopierats. Detta för att bibehålla "
  358.                 "eventuella ändringar som du kan ha gjort. Men nya verktygstyper kan "
  359.                 "ha tillkommit. Här kan du avgöra vad du vill göra:\n"
  360.                 "  Uppdatera inte: Hoppa över detta.\n"
  361.                 "  Lägg till alla: Lägg till alla verktygstyper. Existerande "
  362.                 "verktygstyper kommer inte att ändras.\n"
  363.                 "  Lägg till nya sedan 39.x: Lägg bara till de nya "
  364.                 "verktytstyperna. Eventuella existerande verktygstyper "
  365.                 "kommer inte att ändras.\n"
  366.             )
  367.         )
  368.  
  369.         ; JPEG codec
  370.  
  371.         (set #temp-file
  372.             (cat
  373.                 "  För att packa upp vissa JPEG-bilder, så behöver Codec:en "
  374.                 "mycket minne.\n"
  375.                 "  Om det inte finns nog med plats i huvudminnet, så kommer "
  376.                 "Codec:en att skapa en temporärfil på din hårddisk. Volymen "
  377.                 "på vilken den här filen skapas bör ha tillräcklikt med fritt "
  378.                 "utrymme (ungefär 4 MB).\n"
  379.                 "  En temporärfil behövs normalt sett bara om du vill "
  380.                 "kvantisera JPEG-bilder till 256 färger.\n\n"
  381.                 @askdir-help
  382.             )
  383.         )
  384.  
  385.         (set #make-assign
  386.             (cat
  387.                 "  Den logiska tilldelningen \"JPEGTMP:\" används för att "
  388.                 "referera till lådan för temporära filer.\n"
  389.                 "  För att göra den här tilldelningen tillgänglig vid varje "
  390.                 "systemstart så behöver ett \"Assign\"-kommando läggas till "
  391.                 "i din \"user-startup\"-fil.\n\n"
  392.                 @startup-help
  393.             )
  394.         )
  395.  
  396.         (set #codec-message
  397.             (cat
  398.                 "\n\n\nTower JPEG Codec Class\n\n"
  399.                 "Upphovsrätt © 1994 Christoph Feck, TowerSystems\n"
  400.                 "Alla rättigheter reserverade.\n\n\n\n"
  401.                 "Var god läs dokumentationen för detaljer."
  402.             )
  403.         )
  404.  
  405.         (set #jpeg-tmp-prompt
  406.             "Välj en låda för temporära filer, inte i RAM:"
  407.         )
  408.  
  409.         (set #jpeg-startup-prompt
  410.             "En tilldelning måste läggas till i din user-startup."
  411.         )
  412.  
  413.         (set #jpeg-copy "Kopierar %s...")
  414.     )
  415. )
  416.  
  417. ;**************************************************************************
  418. ;
  419. ; The actual installaion script
  420. ;
  421.  
  422. ; Check Kickstart version. Exit if not at least 3.0
  423. (if (< (/ (getversion) 65536) 39)
  424.         (abort #bad-kick)
  425. )
  426.  
  427. ; Set to true if we did an update (old Visage.info found)
  428. (set update 0)
  429.  
  430. ; Since files probably are scatter installed, don't mention any specific location.
  431. (set @default-dest "")
  432.  
  433. ; Version of old program. This means no old program.
  434. (set visagever 0)
  435. (set visagerev 0)
  436.  
  437. ; Greetings Mr. Falken...
  438. (message #welcome)
  439.  
  440. (welcome)
  441.  
  442. ; Ask the user what to install
  443. (set install-files
  444.     (askoptions
  445.         (prompt    #install-parts)
  446.         (help    #install-parts-help "\n" @askoptions-help)
  447.         (choices
  448.             #item-visage
  449.             #item-visage-guide
  450.             #item-locale
  451.             #item-codec
  452.             #item-getmodeid
  453.             #item-kill
  454.             #item-makelink
  455.             #item-unpackilbm
  456.         )
  457.         (default (if (= @user-level 2) 255 15))
  458.     )
  459. )
  460.  
  461. ; Ask the user for the location of all parts
  462. (if (BITAND install-files 1)
  463.     (set visage-dest
  464.         (askdir
  465.             (prompt  #where-visage)
  466.             (help    @askdir-help)
  467.             (default "Sys:Utilities")
  468.         )
  469.     )
  470. )
  471.  
  472. (if (BITAND install-files 2)
  473.     (
  474.         (set guide-dest visage-dest)
  475.  
  476.         (if (exists "Help:")
  477.             (set guide-dest "Help:")
  478.         )
  479.  
  480.         (set guide-dest
  481.             (askdir
  482.                 (prompt  #where-visage-guide)
  483.                 (help    @askdir-help)
  484.                 (default guide-dest)
  485.             )
  486.         )
  487.  
  488.         (set dest-guide-name (tackon guide-dest "Visage.guide.info"))
  489.  
  490.         (set copy-guide-icon
  491.             (if (AND (= @user-level 2 ) (= (exists dest-guide-name) 0))
  492.                 (askbool
  493.                     (prompt #copy-guide-icon)
  494.                     (help    " ")
  495.                 )
  496.                 1
  497.             )
  498.         )
  499.     )
  500. )
  501.  
  502. (set languages 0)
  503.  
  504. ; .ct
  505. (if (BITAND install-files 4)
  506.     (set lang
  507.         (askoptions
  508.             (prompt    #which-language)
  509.             (help    #which-language-help "\n" @askoptions-help)
  510.             (choices
  511.                 "Deutsch"
  512.                 "English"
  513.                 "Français"
  514.                 "Italiano"
  515.                 "Norsk"
  516.                 "Suomi"
  517.                 "Svenska"
  518.             )
  519.             (default default-lang)
  520.         )
  521.     )
  522. )
  523.  
  524. (if (BITAND install-files 240)    ; 16 + 32 + 64 + 128
  525.     (set tool-dest
  526.         (askdir
  527.             (prompt    #where-tools)
  528.             (help    #where-tools-help "\n" @askdir-help)
  529.             (default "C:")
  530.         )
  531.     )
  532. )
  533.  
  534. ; And now do the actual installation
  535.  
  536. (complete 0)
  537.  
  538. (if (BITAND install-files 1)
  539.     (
  540.         ; Get the version of previously installed Visage
  541.         (if (= (exists (tackon visage-dest "Visage")) 1)
  542.             (
  543.                 (set vernum (getversion (tackon visage-dest "Visage")))
  544.                 (set visagever (/ vernum 65536))
  545.                 (set visagerev (- vernum (* visagever 65536)))
  546.  
  547.                 (if (<= visagever 38)
  548.                     (
  549.                         (set visagever 39)
  550.                         (set visagerev 0)
  551.                     )
  552.                 )
  553.             )
  554.         )
  555.  
  556.         (copylib
  557.             (prompt    (#copy "Visage" visage-dest))
  558.             (source    "Visage")
  559.             (dest    visage-dest)
  560.         )
  561.  
  562.         (if (= (exists (tackon visage-dest "Visage.info")) 0)
  563.             (copyfiles
  564.                 (source    "Visage.info")
  565.                 (dest    visage-dest)
  566.             )
  567.             (set update 1)
  568.         )
  569.     )
  570. )
  571.  
  572. (complete 20)
  573.  
  574. (if (BITAND install-files 2)
  575.     (
  576.         (working #convert-guide)
  577.  
  578.         (run "C/FixAG Visage.guide T:Visage.Guide")
  579.  
  580.         (copylib
  581.             (prompt (#copy "Visage.guide" guide-dest))
  582.             (source "T:Visage.guide")
  583.             (dest   guide-dest)
  584.         )
  585.  
  586.         (delete "T:Visage.guide" (safe))
  587.  
  588.         (if copy-guide-icon
  589.             (copyfiles
  590.                 (source "Visage.guide.info")
  591.                 (dest   guide-dest)
  592.             )
  593.         )
  594.     )
  595. )
  596.  
  597. (complete 40)
  598.  
  599. ; .ct
  600. (if (BITAND install-files 4)
  601.     (
  602.         (set n 0)
  603.  
  604.         (while
  605.             (set language
  606.                 (select n
  607.                     "Deutsch"
  608.                     "English"
  609.                     "Français"
  610.                     "Italiano"
  611.                     "Norsk"
  612.                     "Suomi"
  613.                     "Svenska"
  614.                     ""
  615.                 )
  616.             )
  617.  
  618.             (
  619.                 (if (AND (IN lang n) (<> 0 n))
  620.                     (
  621.                         (set catalog
  622.                             (tackon "Catalogs"
  623.                                 (tackon language "visage.catalog")
  624.                             )
  625.                         )
  626.  
  627.                         (set destination (tackon "Locale:Catalogs" language))
  628.  
  629.                         (copylib
  630.                             (prompt (#copy catalog destination))
  631.                             (source catalog)
  632.                             (dest   destination)
  633.                         )
  634.                     )
  635.                 )
  636.  
  637.                 (set n (+ n 1))
  638.             )
  639.         )
  640.     )
  641. )
  642.  
  643. (complete 45)
  644.  
  645. (if (BITAND install-files 16)
  646.     (copylib
  647.         (prompt (#copy "GetModeID" tool-dest))
  648.         (source "C/GetModeID")
  649.         (dest   tool-dest)
  650.     )
  651. )
  652.  
  653. (if (BITAND install-files 32)
  654.     (copylib
  655.         (prompt (#copy "Kill" tool-dest))
  656.         (source "C/Kill")
  657.         (dest   tool-dest)
  658.     )
  659. )
  660.  
  661. (if (BITAND install-files 64)
  662.     (copylib
  663.         (prompt (#copy "MakeLink" tool-dest))
  664.         (source "C/MakeLink")
  665.         (dest   tool-dest)
  666.     )
  667. )
  668.  
  669. (if (BITAND install-files 128)
  670.     (copylib
  671.         (prompt (#copy "UnpackILBM" tool-dest))
  672.         (source "C/UnpackILBM")
  673.         (dest   tool-dest)
  674.     )
  675. )
  676.  
  677. (complete 50)
  678.  
  679. ; JPEG codec installation
  680.  
  681. (if (BITAND install-files 8)
  682.     (
  683.         ;****************************************************************************
  684.         ;
  685.         ; Setup
  686.         ;
  687.  
  688.         (set libs-dest "LIBS:")
  689.         (set class-dest "SYS:Classes")
  690.  
  691.         (if (not (exists class-dest))
  692.             (set class-dest "LIBS:")
  693.         )
  694.  
  695.         ;****************************************************************************
  696.         ;
  697.         ; Welcome
  698.         ;
  699.  
  700.         (message #codec-message)
  701.  
  702.         ;****************************************************************************
  703.         ;
  704.         ; JPEGTMP: assignment
  705.         ;
  706.  
  707.         (set has-temp 0)
  708.  
  709.         (if (exists "JPEGTMP:" (noreq))
  710.             (
  711.                 (set has-temp 1)
  712.                 (if (= "RAM" (getdevice "JPEGTMP:"))
  713.                     (set has-temp 0)
  714.                 )
  715.             )
  716.         )
  717.  
  718.         (if (= has-temp 0)
  719.             (
  720.                 (set jpeg-tmp (askdir (help #temp-file) (prompt #jpeg-tmp-prompt) (default "SYS:")))
  721.                 (startup "JPEG Codec"
  722.                     (help #make-assign)
  723.                     (prompt #jpeg-startup-prompt)
  724.                     (command "Assign JPEGTMP: \"" jpeg-tmp "\"")
  725.                 )
  726.                 (makeassign "JPEGTMP" jpeg-tmp)
  727.             )
  728.         )
  729.  
  730.         (complete 60)
  731.  
  732.         ;****************************************************************************
  733.         ;
  734.         ; Install libraries and classes
  735.         ;
  736.  
  737.         (copylib
  738.             (help @copylib-help)
  739.             (prompt (#jpeg-copy "tower.library"))
  740.             (source "Libs/tower.library")
  741.             (dest libs-dest)
  742.             (confirm)
  743.         )
  744.  
  745.         (complete 70)
  746.  
  747.         (copylib
  748.             (help @copylib-help)
  749.             (prompt (#jpeg-copy "codec.class"))
  750.             (source "Classes/codec.class")
  751.             (dest class-dest)
  752.             (confirm)
  753.         )
  754.  
  755.         (complete 80)
  756.  
  757.         (copylib
  758.             (help @copylib-help)
  759.             (prompt (#jpeg-copy "picture.codec"))
  760.             (source "Classes/Codecs/picture.codec")
  761.             (dest (tackon class-dest "Codecs"))
  762.             (confirm)
  763.         )
  764.  
  765.         (complete 90)
  766.  
  767.         (copylib
  768.             (help @copylib-help)
  769.             (prompt (#jpeg-copy "jpeg.codec"))
  770.             (source "Classes/Codecs/jpeg.codec")
  771.             (dest (tackon class-dest "Codecs"))
  772.             (confirm)
  773.         )
  774.  
  775.         ;****************************************************************************
  776.         ;
  777.         ; Exit
  778.         ;
  779.  
  780.         (run "Avail >Nil: FLUSH")
  781.     )
  782. )
  783.  
  784.  
  785. (if (AND update visagever)
  786.     (
  787.         (complete 95)
  788.         (set defaction 0)
  789.  
  790.         (if (= visagerev 0)
  791.             (set defaction 2)
  792.         )
  793.  
  794.         (if (= visagerev 1)
  795.             (set defaction 3)
  796.         )
  797.  
  798.         (if (= visagerev 2)
  799.             (set defaction 4)
  800.         )
  801.  
  802.         (set action
  803.             (askchoice
  804.                 (prompt        #program-update)
  805.                 (choices    #update-none
  806.                         #update-all
  807.                         (#update-since "39.0")
  808.                         (#update-since "39.1")
  809.                         (#update-since "39.2")
  810.                 )
  811.                 (default    defaction)
  812.                 (help        #program-update-help "\n" @askchoice-help)
  813.             )
  814.         )
  815.  
  816.         (set tt39-1 "DITHER COMPACT TIME")
  817.         (set tt39-2 "COMMAND CYCLE NOCLICK NORMALNAMES RTG SORT TEST VCENTER")
  818.         (set tt39-3 "INFO SHOWINFO")
  819.  
  820.         ; tackon doesn't seem to work within a "format string". :(
  821.         (set icon-dest (tackon visage-dest "Visage"))
  822.         (set tooltype-pattern
  823.             (select action
  824.                 ""
  825.                 "#?"
  826.                 ("%s %s %s" tt39-3 tt39-2 tt39-1)
  827.                 ("%s %s"    tt39-3 tt39-2)
  828.                 ("%s"       tt39-3)
  829.             )
  830.         )
  831.  
  832.         (if (>= action 1)
  833.             (run ("C/UpdateTT Visage %s %s" icon-dest tooltype-pattern))
  834.         )
  835.     )
  836. )
  837.  
  838. (complete 100)
  839.  
  840. (exit)
  841.